1. Field of the Invention
The present invention relates to the field of computer systems, in particular, microprocessor based computer systems connected as a network. More specifically, the present invention relates to data transfers between these computer systems.
2. Background
As cost performance of computer systems continues to improve, and more and more computer systems are connected together via local and wide area networks, data communication between computer systems has become an essential part of computing. Various well known data communication, networking and internetworking techniques have been developed to transfer data efficiently between computer systems in a network and across networks. However, faced with ever increasing volume of data to be transferred between systems, it has become increasingly necessary to push the performance limits of existing technologies to their absolute maximums, particularly in local area networks comprising microprocessor based computer systems. One approach is to logically increase the bandwidth of a network by transmitting compressed data, and decompresses them after reception. Various well known data compression and decompression techniques, such as Huffman and Liembel-Ziv W., have been developed.
Typically it is the responsibility of the sender application to compress the data before transmission, and the responsibility of the receiver application to decompress the data after reception. While the sender and receiver applications typically invoke specialized routines or servers to perform the actual compression and decompression of the data, nevertheless, the sender and receiver applications are placed with the burden of having to coordinate among themselves on which compression and decompression technique to use. The burden quickly become unmanageable for the applications on even a moderate size network with a moderate number of computer systems, each running a moderate number of applications. As a result, the use of data compression and decompression to increase data communication performance remains limited.
Thus, it is desirable if data can be automatically transferred among computer systems in a network or across networks in a compressed manner that is transparent to the applications. As will be disclosed, the present invention provides a method and apparatus for transferring data among computer systems in a network that achieves the above described desired results.